#ifndef THREAD_FACTORY_H
#define THREAD_FACTORY_H

#include "task.h"

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <pthread.h>

typedef struct ThreadInfo {
    pthread_t pid;

    long alive_time;
} ThreadInfo;

typedef struct ThreadFactory ThreadFactory;

ThreadFactory *createThreadFactory();

void destroyThreadFactory(ThreadFactory *factory);

ThreadInfo *createThread(ThreadFactory *factory, callback task_function, void *args);

#endif // THREAD_FACTORY_H
